Built-in Tests
The 3DM-CV7 provides users two types of built-in tests (BIT) for verifying its proper operation: the continuous BIT and the commanded BIT. The Commanded BIT runs a self-test of the internal sensors to verify they respond properly to physical stimuli. The sensor must temporarily pause normal operation during the test. In contrast, the Continuous BIT reports the status of many different continuously-monitored systems.
Commanded Built-in Test
Description
The commanded BIT is a disruptive process which pauses normal operation and performs a series of tests on various system components. The primary purpose of this command is to verify that the IMU sensors are operating normally; however, other tests are also conducted. See the table below for a complete description.
It may take several seconds for this command to complete. During this time, 3DM-CV7 data will be unavailable.
IMPORTANT: The IMU sensors can report false failures if the system is subjected to significant acceleration, rotation, or vibration during this test. Therefore, it is advised that users only run this test when the 3DM-CV7 is at rest.
NOTE: For some errors, the continuous BIT provides more detail than the commanded BIT. Therefore, a continuous BIT executed after a commanded BIT may offer additional insight into a commanded BIT failure.
Command
Message Description
The commanded BIT is formatted as a single uint32 bitfield.
Bit(s) | Error | Notes |
---|---|---|
0 | General Hardware Fault | A critical hardware component, such as the internal oscillator, has failed or is not operating properly. |
1 | General Firmware Fault | System firmware has detected a serious, unexpected, or abnormal condition. |
2 | Timing Overload | The system is unable to keep up with the processing demand. Usually this is a result of turning on too many features at once, such as streaming too many descriptors. This bit resets after this command is processed. |
3 | Buffer Overrun | A data buffer in the system has reached its capacity. Usually this means the connection bandwidth has been exceeded by streaming too much data. |
4-7 | Reserved (System) | |
8-11 | Reserved (Comms) | |
12 | Accelerometer Fault | The accelerometer has been damaged or is inoperative. |
13 | Gyroscope Fault | The gyroscope has been damaged or is inoperative. |
14 | Magnetometer Fault | The magnetometer has been damaged or is inoperative. |
15 | Pressure Sensor Fault | The pressure sensor has been damaged or is inoperative. |
16-17 | Reserved (IMU) | |
18 | Calibration Error | One or more IMU calibration tables are invalid. |
19 | General IMU Fault | A problem has been detected in the IMU subsystem. This bit is only for miscellaneous error conditions and will not necessarily be flagged along with other faults. |
20-21 | Reserved (filter) | |
22 | Filter Solution Fault | The filter solution is invalid. This bit will be set if a NaN appears in the filter output. The filter should be reset if this occurs. |
23 | General Filter Fault | A problem has been detected in the filter subsystem. This bit is only for miscellaneous error conditions and will not necessarily be flagged along with other faults. |
24-32 | Reserved |
Continuous Built-in Test
The continuous BIT reports the status of various internal flags which are continuously updated. The Continuous BIT command is not disruptive and may be run at any time. It is available in command form or in streaming form (see below).
These bits are latching to allow reporting of intermittent faults. Once set, they will not be cleared until transmitted to the user's application. Each message contains all of the faults that have been detected since the last transmission of the same message
Note: The "sensor self-test fault" flags (e.g. bit 42) are only updated when the commanded BIT is executed. These flags are added to the continuous BIT message to provide greater detail than the commanded BIT command response provides.
Note: The sensor over-range flags are also available in a smaller message which provides results for individual axes and is better suited for high rate streaming. See the Overrange Status (0x80,0x18) message for details.
Command ("Continuous BIT")
This is the command form of the continuous BIT.
Continuous Built-In Test (0x01,0x08)
Data Message ("Streaming BIT")
This is the streaming form of the continuous BIT. Due to its size, it is recommended to stream this message at low rates (this will not result in missed flags, per the latching mechanism).
Streaming Built-In Test (0xA0,0x01)
Message Description
The continuous BIT is formatted as a bitfield composed of 16 bytes. Each consecutive set of 4 bytes represents a subsystem of the device:
- Bits 0..31 System bits - these represent the device as a whole.
- Bits 32..63 IMU bits - these correspond to the IMU subsystem.
- Bits 64..95 Nav bits - these correspond to the EKF and Navigation subsystem.
- Bits 96..127 GNSS bits - these represent anything related to GNSS or aiding data (for applicable devices).
Bit(s) | Relative Index (Byte.Bit) |
Error | Notes |
---|---|---|---|
0 | 0.0 | System Clock Failure | The system clock is not operating properly. Timing may not be accurate and the system may be unreliable. |
1 | 0.1 | Power Fault | Power supply voltage is outside of the recommended range, or an internal power fault exists. |
2-3 | 0.2-0.3 | Reserved | |
4 | 0.4 | Firmware Fault | System firmware has detected an unexpected or abnormal condition. |
5 | 0.5 | Timing Overload | The system is unable to keep up with the processing demand. Usually this is a result of turning on too many features at once, such as streaming too many descriptors. |
6 | 0.6 | Buffer Overrun | A data buffer in the system has reached its capacity and data may have been lost. Usually this means the connection bandwidth has been exceeded by streaming too much data. |
7-15 | 0.7-1.7 | Reserved | |
16 | 2.0 | IMU Process Fault | The IMU subsystem is not functioning or did not start properly. Contact support. |
17 | 2.1 | IMU Data Process Time Exceeded | IMU data processing has taken longer than the maximum allowed period. Try reducing the number of streaming descriptors. |
18 | 2.2 | IMU Data Rate Error | IMU data is not being produced at the expected base rate. This may happen if a timing overload occurs. |
19 | 2.3 | IMU Stall | The IMU subsystem has stalled and is not producing data. |
20-23 | 2.4-2.7 | Filter Process Fault | The Filter subsystem is unresponsive or not operating normally. |
20 | 2.4 | Filter Major Cycle Fault | A problem with the navigation filter major cycle has been identified. Use in combination with bits 22 and 23. |
21 | 2.5 | Filter Minor Cycle Fault | A problem with the navigation filter minor cycle has been identified. Use in combination with bits 22 and 23. |
22 | 2.6 | Filter Data Rate Error | One of the navigation filter processes is not running at the proper base rate. Use in combination with bits 20 and 21. |
23 | 2.7 | Filter Process Stall | One of the navigation filter processes is stalled and is not producing data. Use in combination with bits 20 and 21. |
24-27 | 3.0-3.3 | GNSS Subsystem Fault | The GNSS subsystem is unresponsive or not operating normally. |
24 | 3.0 | GNSS Main Process Fault | The master GNSS process has not run within the timeout period. |
25 | 3.1 | GNSS Receiver 1 Stall | Data has not been processed from internal receiver 1 within the timeout period. |
26 | 3.2 | GNSS Receiver 2 Stall | Data has not been processed from internal receiver 2 within the timeout period. |
27 | 3.3 | Reserved | |
28-31 | 3.4-3.7 | System Reserved | |
32 | 4.0 | IMU Reserved | |
33 | 4.1 | IMU Communication Fault | No communication with IMU. |
34 | 4.2 | IMU Timing Overrun | IMU core processes are taking longer than their allotted time. |
35 | 4.3 | IMU Reserved | |
36 | 4.4 | IMU Calibration Error - Accelerometer | A problem is detected with the accelerometer calibration. |
37 | 4.5 | IMU Calibration Error - Gyroscope | A problem is detected with the gyroscope calibration. |
38 | 4.6 | IMU Calibration Error - Magnetometer | A problem is detected with the magnetometer calibration. |
39 | 4.7 | IMU Calibration Error - Reserved | |
40 | 5.0 | Accelerometer General Fault | Accelerometer will not initialize. |
41 | 5.1 | Accelerometer Over-range | One or more axes subjected to accelerations near or outside the selected range. |
42 | 5.2 | Accelerometer Self-test Fail | The internal self-test of the accelerometer failed. |
43 | 5.3 | Accelerometer Reserved | |
44 | 5.4 | Gyroscope General Fault | Gyroscope will not initialize. |
45 | 5.5 | Gyroscope Over-range | One or more axes subjected to rotational rates near or outside the selected range. |
46 | 5.6 | Gyroscope Self-test Fail | The internal self-test of the gyroscope failed. |
47 | 5.7 | Gyroscope Reserved | |
48 | 6.0 | Magnetometer General Fault | Magnetometer will not initialize. |
49 | 6.1 | Magnetometer Over-range | One or more axes subjected to magnetic fields strengths near or outside the supported range. |
50 | 6.2 | Magnetometer Self-test Fail | The internal self-test of the magnetometer failed. |
51 | 6.3 | Magnetometer Reserved | |
52 | 6.4 | Pressure Sensor General Fault | Pressure sensor won't initialize. |
53 | 6.5 | Pressure Sensor Over-range | Pressure sensor subjected to pressures outside of the supported range. |
54 | 6.6 | Pressure Sensor Self-test Fail | The internal self-test of the pressure sensor failed. |
55 | 6.7 | Pressure Sensor Reserved | |
56 | 7.0 | Factory Bits Invalid | Device has lost configuration. Contact support. |
57-63 | 7.1-7.7 | Reserved | |
64 | 8.0 | Reserved | |
65 | 8.1 | Reserved | |
66 | 8.2 | Filter Timing Overrun | Filter processes are taking longer than their allotted time. |
67 | 8.3 | Filter Timing Underrun | Filter processes are being skipped. |
68-104 | 8.4-13.0 | GNSS Reserved | |
105 | 13.1 | Receiver 1 Fault | Could not communicate with internal GNSS receiver #1. Contact support. |
106-107 | 13.2-13.3 | GNSS Reserved | |
108 | 13.4 | Receiver 1 No Solution | Internal GNSS receiver #1 does not have a valid solution. This is usually not a device problem. Check the antenna is connected and that it has a clear view of the sky. |
109 | 13.5 | GNSS Reserved | |
110 | 13.6 | Receiver 2 Fault | Could not communicate with internal GNSS receiver #2. Contact support. |
111-112 | 13.7-14.0 | GNSS Reserved | |
113 | 14.1 | Receiver 2 No Solution | Internal GNSS receiver #2 does not have a valid solution. This is usually not a device problem. Check the antenna is connected and that it has a clear view of the sky. |
114-127 | 14.1-15.7 | GNSS Reserved |